package main

import (
	"fmt"
	"ginclassmates/models"
	"ginclassmates/routers"
	"ginclassmates/utils"
	"log"
)

func main() {
	//初始化配置文件
	utils.ConfigInit()

	//初始化数据库
	err := models.InitializeMYSQL()
	if err != nil {
		log.Fatalf("数据库连接错误！,err:%v", err.Error())
	}
	fmt.Println("数据库已连接！")

	//初始化redis
	err = models.InitializeRedis()
	if err != nil {
		log.Fatalf("Redis连接出错！err:%v", err)
	}
	fmt.Println("redis连接成功！")
	//数据库，redis确定连接后把数据关键的数据拿取出来发到内存中redis
	models.UserFind()

	//启动kafka生产者，异步处理
	if err := models.KafkaProduceinit(); err != nil {
		log.Fatalln("kafka start err,err:" + err.Error())
	}

	//启动kafka消费者，指定分区消费
	if err := models.KafkaComsumerinit(); err != nil {
		log.Fatalln("kafka read err,err:" + err.Error())
	}

	//路由组
	routers.Registerrouters()
}

//调用数据库里面的学号，ip，姓名用于存放在redis内存中
/* user := models.InvokeUser()
//测试数据库能否正常添加数据
err = user.UserAdd()
if err != nil {
	log.Fatalf("数据添加错误！err:%v", err)
} */
